1. Field of the Invention
This invention relates to recalling logical volumes in a virtual tape server and more particularly relates to optimizing a plurality of recall requests for logical volumes through the application of optimization rules to the queue of recall requests to be processed.
2. Description of the Related Art
Data Processing systems typically require large amounts of data storage capacity, some of which is needed quickly and may be stored in memory and hard disk drives, and other of which is not immediately required.
As an example, data not immediately required may comprise data that is infrequently accessed, and the storage of the data may be in the form of logical volumes of data stored on removable re-writable physical media volumes, such as magnetic tape or optical disk, and the physical media volumes may be written and/or read by means of a data storage drive.
If large amounts of data are to be stored and then accessed on occasion, virtual tape servers (VTS) backed by automated data storage libraries are often employed. Such libraries provide efficient access to large quantities of data stored on physical media volumes, which are stored in storage shelves and which are accessed by one or more accessors and delivered to data storage drives in the library.
A request by a host data processing system to create or modify a logical volume is issued to a VTS. If the request requires access to a physical media volume that contains the requested logical volume, the VTS instructs its attached library to access the physical media volume from the storage shelf, then mount the physical media volume at a desired data storage drive. The logical volume is read to cache storage, which may comprise hard disk drives or other high-speed storage, so that it may be immediately accessed and provided to the host system.
If the request is for a logical volume that is already in cache, or is for a logical volume that will be completely rewritten, referred to here in as a scratch mount, a physical media volume access is not required. The host system then reads from or writes to the logical volume in the cache, via the VTS. When the host system closes the logical volume, the logical volume remains in cache storage so that it can be immediately re-accessed.
The cache storage is typically limited in capacity, requiring that the updated logical volumes be migrated back in storage, comprising the physical media volumes, so as to free space in the cache storage. Typically a least recently used, or LRU, algorithm is employed to migrate logical volumes out of cache storage to backing storage.
Recalling and copying a migrated logical volume requires that the physical media volume contain the migrated logical volume be mounted on a data storage drive, so that the logical volume may be recalled into cache storage, re-accessed and copied.
A method and apparatus for recalling logical volumes to cache from physical media volumes for redundant storage in automated data storage libraries is set forth in U.S. Pat. No. 6,507,883, which is incorporated here in by reference in its entirety.
Volume mapping is used to create a correlation between the physical capacity of a storage cartridge (stacked volume or physical volume) and the data storage unit size (virtual volumes or logical volumes) of a file or block that is stored on the cartridge. Given the available data storage capacity of a disk, such mapping allows multiple logical volumes to be stored on a single physical volume, hence providing an efficient use of the available storage media. A virtual tape server (VTS) is one device capable of creating and maintaining such mapping among physical volumes and logical volumes.
A typical VTS has a small number of physical drives that can be used for recalling virtual volumes. The VTS has many more virtual devices, for example 256, that provide access to the virtual volumes. There are times on a VTS where more virtual devices access virtual volumes that are not in cache than there are physical drives to mount the physical tapes. When this occurs, the additional recalls are queued for processing, generally in a first in- first out queue. In general, these queued recalls arrive in an order that, when processed in a first in-first out order, will require a load/un- load cycle per logical volume recalled.
One problem with some known VTS Systems is that recalling logical volumes from a physical media can be time consuming. For example, on a busy VTS, some or all the drives are mounted or loaded with physical media such as cartridges. When a recall is requested the cartridge or physical tape must be unloaded or dismounted from the physical drive. This process can take upwards of one minute. Another minute may be spent loading the next physical tape into the physical tape drive and locating the tape to the start of the virtual volume. Another minute may be spent transferring the virtual volume from the physical tape or other mountable media to the VTS cache. In general, the majority of the time spent recalling a virtual volume from tape is spent loading and unloading the physical tape cartridge.
Thus, it would be an advancement in the art to provide a virtual tape system and method that increases the efficiency of requesting recalls. It would be a further advancement in the art to provide such a virtual tape server capable of achieving greater efficiency without making the requester wait too long for any particular request. It would be yet another advancement in the art to provide such a virtual tape server capable of efficiently requesting recalls without overly penalizing any one recall requests. It would be an additional advancement in the art to provide such a virtual tape system that minimized virtual tape resources when requesting recalls. Such a virtual tape server is disclosed and claimed herein.